Due to such factors as advances in technology, reductions in computer hardware costs and growth of the World Wide Web, increasing quantities of digital data are being generated worldwide. For example, computer systems in homes, businesses and government are used to generate data in the form of text and other documents, databases, multi-media files, e-mail correspondence, web pages, and so forth. As a result, demands on computer systems in general, and particularly on data storage systems, are enormous and are growing over time.
Computer systems intended to handle modern demands can be difficult to configure and manage. For example, for a modern data storage system, a system designer must select from a vast array of available hardware devices and make numerous configuration choices. The designer must also specify how the data is to be distributed over the various devices of the data storage system. Among the challenges are complex behavior exhibited by many applications, ever-changing demands placed on the data storage system and the obsolescence and replacement of elements of the storage system.
Analysis of application behavior through workload characterization can be used to help ensure that the computer system is able to satisfy demands placed on it by the applications it serves. For example, the resources of a storage system, such as throughput and storage capacity, can be allocated so as to minimize throughput bottlenecks and to ensure that sufficient capacity is available to the applications.
Conventional workload characterization for storage systems involves collecting detailed records of I/O activity for the storage system. Typically, a record is generated for each I/O request. Data from the records is then statistically averaged so as to form a manageable workload characterization of the I/O activity. The workload characterization may then be used to configure and manage the storage system. For example, the workload characterization may be used to determine the utilization of elements of the storage system. The storage system may then be modified to improve its performance for the workload.
A drawback to conventional workload characterization for storage systems is that significant resources are typically required to collect and to compute statistical averages of the I/O activity. Further, important information regarding the I/O activity can be lost in the process of distilling the request records to a manageable workload characterization.
Accordingly, what is needed is an improved technique for system workload characterization.